home *** CD-ROM | disk | FTP | other *** search
- /*============================================================
-
- N_Sprite sample program
-
- ============================================================*/
-
- #include "N_Library.h"
-
- WindowPtr CreateWindow (Str255 name);
-
- #define WindowSizeX 640
- #define WindowSizeY 480
-
- short Data_Rsrc = 0;
-
- short NewWindowX;
- short NewWindowY;
- long counter = 0;
-
- void main(void)
- {
- WindowPtr window;
- short x,y;
- long ww;
-
- ToolboxInit();
- ColorCheck();
- window = CreateWindow("\pN Game Library <Sprite Sample>");
- N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY); //setup window
- Open_Resource_File(128,1,&Data_Rsrc);
-
- N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);
-
- N_Sprite_Set(129,0,128,128,0,1,1,0); //set sprites(0-4)
- N_Sprite_Set(130,1,128,128,0,1,1,0);
- N_Sprite_Set(131,2,32,32,0,1,1,0);
- N_Sprite_Set(132,3,32,32,0,1,1,0);
-
- Close_Resource_File(&Data_Rsrc);
- HideCursor();
- Delay(60,&ww);
- do
- {
-
- x = (GetRandom(0,760) -60);
- y = (GetRandom(0,540) -60);
-
- if (counter>=0 && counter<500) N_Sp_Put_Win(0,x,y); //SP0 normal,overwrite
- if (counter>=500 && counter<1000 ) N_Sp_Put_Win(0x00010000,x,y); //SP0 Hrev,overwrite
- if (counter>=1000 && counter<1500) N_Sp_Put_Win(0x00020000,x,y); //SP0 Vrev,overwrite
- if (counter>=1500 && counter<2000) N_Sp_Put_Win(0x00030000,x,y); //SP0 H/V rev,overwrite
-
- if (counter>=2000 && counter<6000) N_Sp_Put_Win(2,x,y); //SP2 normal,overwrite
- if (counter>=6000 && counter<10000) N_Sp_Put_Win(0x00010002,x,y); //SP2 Hrev,overwrite
- if (counter>=10000 && counter<14000) N_Sp_Put_Win(0x00020002,x,y); //SP2 Vrev,overwrite
- if (counter>=14000 && counter<18000) N_Sp_Put_Win(0x00030002,x,y); //SP2 H/V rev,overwrite
-
- if (counter>=18000 && counter<18500) N_Sp_Put_Win(0x80000001,x,y); //SP1 normal,overlap
- if (counter>=18500 && counter<19000) N_Sp_Put_Win(0x80010001,x,y); //SP1 Hrev,overlap
- if (counter>=19000 && counter<19500) N_Sp_Put_Win(0x80020001,x,y); //SP1 Vrev,overlap
- if (counter>=19500 && counter<20000) N_Sp_Put_Win(0x80030001,x,y); //SP1 H/rev,overlap
-
- if (counter>=20000 && counter<24000) N_Sp_Put_Win(0x80000003,x,y); //SP3 normal,overlap
- if (counter>=24000 && counter<28000) N_Sp_Put_Win(0x80010003,x,y); //SP3 Hrev,overlap
- if (counter>=28000 && counter<32000) N_Sp_Put_Win(0x80020003,x,y); //SP3 Vrev,overlap
- if (counter>=32000 && counter<36000) N_Sp_Put_Win(0x80030003,x,y); //SP3 H/Vrev,overlap
-
-
- if (counter>=36000) counter = 0;
- counter++;
-
- }
- while (!Button());
- ShowCursor();
- ColorRevert();
- }
-
-
-
-
- WindowPtr CreateWindow (Str255 name)
- {
- WindowPtr window;
- short centerX,centerY;
- short windowWidth,windowHeight;
-
-
- window = GetNewWindow (128,nil,(WindowPtr)-1L );
- centerX = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
- centerY = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
- SetWTitle(window,name);
- MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
- SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
-
- ShowWindow(window);
- SetPort((GrafPtr)window );
- return (WindowPtr)window;
- }
-
-
-